<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>What is FPP?</title>
</head>

<body>

<p>The full polymorphic package is a coherent set of tools based on the LBNL 
version of &quot;DA-Package&quot; of Berz, denoted as DAB. DAB creates a Taylor series 
type for automatic differentiation. It was originally a FORTRAN77 program where 
each Taylor series was located by an integer pointer. Etienne Forest, in 
collaboration with Berz and Irwin, wrote a library to handle Taylor maps and 
their analysis, LIELIB. Both DAB and LIELIB still exist as FORTRAN90 modules of 
FPP but should not be used anymore as stand alone.</p>
<p>FPP achieves THE following goals:</p>
<p>1) Creates the new types <a href="h_definition.htm#TAYLOR">Taylor</a> and
<a href="h_definition.htm#COMPLEXTAYLOR">Complextaylor</a> which supports 
ordinary Fortran syntax</p>
<p>2) Creates from <a href="h_definition.htm#TAYLOR">Taylor</a> and
<a href="h_definition.htm#COMPLEXTAYLOR">Complextaylor</a> more powerful 
polymorphic types <a href="h_definition.htm#REAL_8">Real_8</a> and
<a href="h_definition.htm#DOUBLE_COMPLEX">Double_complex</a>&nbsp; which are 
capable of switch between beiong standard numbers and power series at run time. 
A user who wants to implement a flexible automatic differentiation should use 
these types.</p>
<p>3) Creates a type <a href="h_definition.htm#DAMAP">DAMAP</a> and various 
other representations including Lie representations. </p>
<p>4) Finally provides a large number of analysis tools including the type
<a href="h_definition.htm#NORMALFORM">NORMALFORM</a>. </p>
<p>&nbsp;</p>
<p>The primary idea being FPP is to provide a tool which allows flexible 
automatic differentiation for numerical integrators. In the restricted domain of 
accelerator physics, it provides the analysis tools for the propagation and 
analysis of maps in tracking codes. The library PTC (Polymorphic Tracking Code) 
uses FPP and is incorporated in MAD-X (CERN) and BMAD (Cornell) for example. </p>
<p>&nbsp;</p>
<p>&nbsp;</p>

</body>

</html>